perm filename CNVR.DOC[RUT,LSP] blob
sn#343721 filedate 1978-03-22 generic text, type T, neo UTF8
The CONNIVER system (CNVR) is essentially as described in the
CONNIVER REFERENCE MANUAL as available from the MIT AI Lab (Memo No.
259A). When the system is started you are talking to the top level
of CONNIVER, with the data base already initialized. There is an
INITFN in effect (CNVINT) which takes you back to the top level of
CONNIVER whenever an error return to the top level of LISP is made
(including a ↑G or ↑C ↑D pair). You may temporarily return to LISP
via (STOP), but any subsequent errors will start CONNIVER up again.
The only way to permanently disable CONNIVER is thus to do an
(INITFN NIL).
CONNIVER CEXPRs may be defined via CDE (which is equivalent to CDEFUN
as described in the manual) and edited via EDITC, which is similar to
EDITF in its operation. Named CONNIVER DATUMs may be edited via
EDITD - this is especially useful for editing METHODs. Both CEXPRs
and METHODs may be printed via PP, but if dumping to a file note that
METHODs have to be ADDed. They will be ADDed automatically if the
function CDUMP is used to dump them: (CDUMP (FILE.EXT)) dumps all
CEXPRs and DATUMs currently defined into the file in such a way that
they will be restored when the file is loaded. If only the CEXPRs or
DATUMs are desired, CDUMP may be given a second argument specifying
which of the two to dump (CEXPR or DATUM). The CDUMP file uses the
function DATA to re-ADD the DATUMs to the net. DATA reads until a
NIL is encountered, adding all atoms read as METHODs, adding '(EXP)
when a list of the form ((EXP)) is read, and evaluating all other
expressions and adding the resultant value.
Note that when CONNIVER is running the QUOTE macro character is
changed from "@" to "'". "@" is now used to indicate LISP
evaluation. Note also that all strings are interned by CONNIVER, and
that " appearing in the middle of an atomic symbol is no longer a
break character. It should also be noted that ";" reads in as "!",
so that ;>X and !>X are equivalent (but the former is easier to type
than the latter).
If you need to reinitialize the data base (via DATA-INIT) you should
be aware that binary program space will be consumed and you might
have to expand bps first (via EXPBPS). Note also that the ILISP
functions DELETE and ENTER are re-defined in CNVR - they have thus
been renamed *DELETE and *ENTER.
Finally, although there is no trace facility in CONNIVER, (TRACE /:)
will give you a good indication of the flow of control.